var head = document.getElementsByTagName("head")[0], cache = [];

var inject = {
	
	/*
		inject.include()
		добавляет к странице включённые скрипты
	*/
	'include' : function(e)
	{
		if (e.name != "settings") return;

		var _scripts = e.message, script;
		
		for (script in _scripts)
		{
			if (_scripts[script] && !inject.ge('injected-'+script))
			{
				inject.append(script);
			}
		}
	},
	
	'append' : function(script)
	{
		var _script = document.createElement('script');
		_script.setAttribute("type","text/javascript");
		_script.setAttribute("id", "injected-"+script);
		_script.setAttribute("src", safari.extension.baseURI+'injects/'+script+'.js');
		head.appendChild(_script);
	},
	
	/*
		inject.ge()
		кэширум элементы
	*/
	'ge' : function (id)
	{
		return !cache[id] ? cache[id] = document.getElementById(id) : cache[id];
	},
	
	/*
		inject.init()
		вешаем евент на получение настроек и отправляем запрос на настройки
	*/
	'init' : function()
	{
		this.append('jquery');
		safari.self.addEventListener("message", inject.include, false);
		safari.self.tab.dispatchMessage("settings", "givemesettings");
	}
};

inject.init();